package com.yuw.singleton;

public class SingletonDemo {
    // 成员变量
    // 静态的单例实例变量 -- static 常驻内存
    private static SingletonDemo singletonDemo;

    // 单例模式类的构造方法私有化

    private SingletonDemo() {
    }

    // 成员方法

    /**
     * 获取单例模式的实例对象
     *
     * @return 唯一的实例对象
     */
    public static SingletonDemo getSingletonDemoInstance() {

        // 如果是第一次获取实例对象，则需要使用new进行创建 -- 存在多线程同步问题？
        if (singletonDemo == null) {
            // 第一次需要创建实例对象
            singletonDemo = new SingletonDemo();
        }
        return singletonDemo;
    }
}
